package tech.aistar.design.factory.version01;

/**
 * 本类用来演示: 简单工厂 - 负责生产程序中需要的"对象" - 产品
 *
 * @author: success
 * @date: 2021/3/16 3:43 下午
 */
public class SenderFactory {

    //定义一些公开的静态的常量属性
    public static final String QQ = "QQ";

    public static final String WX = "WX";

    //多态的应用 - 面向接口编程
    //特征3 - 方法的返回类型写成接口,方法的返回结果可以是这个接口的任意一个实现类对象

    //根据传入的参数type,来返回接口的具体的某个实现类对象.
    public Sender getInstance(String type){
        Sender sender = null;
        switch (type){
            case QQ:
                sender = new QQSender();
                break;
            case WX:
                sender = new WXSender();
                break;
        }
        return sender;
    }
}
